package org.example.bigwork.service;

import org.example.bigwork.entity.Student;
import org.example.bigwork.entity.Task;

import java.util.List;
import java.util.Map;

public interface StudentService {
    /**
     * 根据学生ID查询学生信息
     * @param studentId 学生ID
     * @return 学生信息
     */
    Student getStudentById(String studentId);
    
    /**
     * 获取学生的任务列表
     * @param studentId 学生ID
     * @return 任务列表
     */
    List<Task> getStudentTasks(String studentId);
    
    /**
     * 学生领用任务
     * @param studentId 学生ID
     * @param taskId 任务ID
     * @return 是否领用成功
     */
    boolean claimTask(String studentId, String taskId);
    
    /**
     * 学生取消领用任务
     * @param studentId 学生ID
     * @param taskId 任务ID
     * @return 是否取消成功
     */
    boolean cancelTask(String studentId, String taskId);
    
    /**
     * 获取学生任务的快速查找映射
     * @param studentId 学生ID
     * @return 任务ID到任务对象的映射
     */
    Map<String, Task> getTaskMap(String studentId);
} 